'''
  实现一个自动取款机的存取款模拟效果。要求有登陆和退出、查询余额、取钱，存钱等操作。
  1.实现取款机的数据源
  2.实现登录操作
  3.实现查询余额操作
  4.实现取钱操作
  5.实现存钱操作
  6.退出系统
  7.实现界面编写
'''

#1.实现取款机的数据源
bank_user_info=[
    {'name':'zhangsan','username':'abcd123','password':'111111','moeny':1000001},
    {'name':'zhangsan1','username':'abcd1232','password':'1234562','moeny':1000002},
    {'name':'zhangsan2','username':'abcd1233','password':'1234563','moeny':1000003}]
#2.实现登录操作
user_id=0
def login(username,password):
    global user_id
    if not username:
        print('用户名不能为空')
        return False
    if not password:
        print('密码不能为空')
        return False
    for id,user in  enumerate(bank_user_info) :
        name=user['username']
        password1=user['password']
        if name==username and password==password1:
            print('登录成功')
            user_id=id+1
            return True
    print('用户名或密码错误，请重新输入...')
    return False
#3.实现查询余额操作
def findByIdMoney(id):
    return bank_user_info[id-1]['moeny']
#4.实现取钱操作
def reduceMoeny(id,moeny):
    curmoeny = bank_user_info[id - 1]['moeny']
    if moeny > 0:
        curmoeny=curmoeny-moeny;
        bank_user_info[id - 1]['moeny']=curmoeny
#5.实现存钱操作
def addMoeny(id,moeny):
    curmoeny = bank_user_info[id - 1]['moeny']
    if moeny > 0:
        curmoeny=curmoeny+moeny;
        bank_user_info[id - 1]['moeny']=curmoeny
#退出系统
def loginOut():
    user_id=0
    pass

#7界面编写
while True:
    print("*"*12,"ATM自动存取款系统","*"*12)
    print("{:13} {}".format(" ","1.登录系统"))
    print("="*40)
    key=input('请登录系统按数字:')
    if key=='1':
        username=input('请输入账号：')
        password = input('请输入密码：')
        success=login(username,password)
        if success: #登录成功
            while True:
                print("*"*12,"ATM自动存取款系统","*"*12)
                print('{:1} {:13} {:15}'.format(' ', '1. 查询余额', '2. 存钱'))
                print('{:1} {:13} {:15}'.format(' ', '3. 取钱', '4. 退出系统'))
                print('=' * 40)
                inputkey=input('请输入对应的选择：')
                if inputkey=='1':
                    print('当前余额为：',findByIdMoney(user_id))
                    input('按回车继续：')
                elif inputkey=='2':
                    moeny=input("请输入存入的金额:")
                    addMoeny(user_id,int(moeny))
                    print("存入后金额：",findByIdMoney(user_id))
                    input('按回车继续：')
                elif inputkey=='3':
                    moeny=input("请输入取入的金额:")
                    reduceMoeny(user_id,int(moeny))
                    print("取入后金额：",findByIdMoney(user_id))
                    input('按回车继续：')
                elif inputkey=='4':
                    loginOut()
                    print('=' * 12, '再见', '=' * 12)
                    break

    else:
        input('按回车继续：')